package br.ufc.es.pds.mudproject.comandos;

import java.util.ArrayList;

import br.ufc.es.pds.mudproject.annotations.ComandoAnnotation;
import br.ufc.es.pds.mudproject.core.Comando;
import br.ufc.es.pds.mudproject.core.Jogador;
import br.ufc.es.pds.mudproject.core.Objeto;

@ComandoAnnotation(comando = "acionar")
public class ComandoAcionar extends Comando {

	public ComandoAcionar(Jogador jogador, ArrayList<String> arrayParametros) {
		super(jogador, arrayParametros);
	}

	@Override
	public void Executar() {
		if (parametros == null || parametros.isEmpty()) {
			System.out.println("Você deseja Acionar o que? ");
		} else {

			String objetoNome = "";

			for (int i = 0; i < parametros.size(); i++) {
				if (i < parametros.size() - 1) {
					objetoNome += parametros.get(i) + " ";
				} else {
					objetoNome += parametros.get(i);
				}
			}

			Objeto objeto = jogador.pegarAmbiente().pegarObjeto(objetoNome.trim());
			
			if ( objeto != null ) {
				objeto.acionarObjeto(jogador);
			} else {
				System.out.println("O objeto não existe no ambiente");
			}			
		}
	}
}
